Дискриминирующие объединения в TypeScript: Построение типобезопасных конечных автоматов | MLOG | MLOG